/**
 * 2018年1月20日 星期六
 * 当 webpack 编译时触发事件
 * Joshua Conero
 */
const fs = require('fs')
const Pkg = require('./package.json')
 
class H{
    static date(){
        var dt = new Date()
        return dt.getFullYear() + '-'+(dt.getMonth() + 1) + '-'+dt.getDate()
    }
}
/**
 * 编译时处理类
 */
class Building{
    constructor(){
        this.createBuildFile()
        // throw Error('系统测试中断')
    }
    /**
     * 生成编辑文件
     */
    createBuildFile(){
        var compile = {}
        compile.version = Pkg.version
        compile.release = Pkg.release
        compile.date = H.date()
        compile.env = process.env.NODE_ENV
        
        // 编译环境变量
        fs.writeFileSync('./compile.json', JSON.stringify(Object.assign({}, compile, process.versions), null, 4))

        var script = 
`
var SrCenter = 
    ${JSON.stringify(compile, null, 4)};
export default SrCenter;
`
        fs.writeFileSync('./resources/assets/js/compile.js', script)
    }
}

module.exports = {
    Building
}